Refining Objects
نویسندگان
چکیده
Inspired by Cardelli’s pioneering work, many type disciplines for object-oriented programming are based on enrichments of structural type theories with constructs such as subtyping and bounded polymorphism. A principal benefit of such a formulation is that the absence of “message not understood” errors is an immediate corollary of the type safety theorem. A principal drawback is that the resulting type systems tend to be rather complex in order to accommodate the methodology of object-oriented programming. We consider another approach based on a simple structural type theory enriched with a system of type refinements with which we may express behavioral requirements such as the absence of “message not understood” errors. Ensuring this property is viewed as a verification condition on programs that use dynamic dispatch, which we construe as an abstract type of objects supporting instantiation and messaging operations. At the structural level dynamic dispatch may fail, but at the behavioral level this possibility is precluded. To validate this approach we give an interpretation of Featherweight Java (FJ), a widely-used model of object-oriented programming, that comprises a compilation into dynamic dispatch, and an interpretation of the class table as a system of type refinements. We show that welltyped FJ programs translate to well-typed and well-refined programs, from which we deduce the same safety guarantees as are provided by FJ. More importantly, the behavioral formulation may be scaled to verify the absence of other behaviors, such as down-cast errors, that are not easily handled using only structural types.
منابع مشابه
OOExpert: An Agent Based System for Identifying and Refining Objects from Software Requirements Based on Object Based Formal Specification
This paper examines the issues associated with the methodology for object identification and refinement, and also the use of multi-agent system approach for collaborative object-oriented analysis and design. We propose an agent based system called OOExpert for solving problems on object model creation process by identifying and refining objects from software requirements based on object based f...
متن کاملA Methodology for Identifying and Refining Objects from the Software Requirements Based on Object-Based Formal Specification
This paper presents a methodology for object identification and refinement from the software requirements, which is based on object-based formal specification (OBFS). This methodology provides the mean of understanding the object-oriented paradigm easily, and supports us with identifying and refining the objects. As a case study, we have implemented a system for supporting the program committee...
متن کاملContinuous K-Nearest Neighbor processing based on speed and direction of moving objects in a road network
Recent research has focused on Continuous K-Nearest Neighbor (CKNN) query over moving objects in road networks. A CKNN query is to find among all moving objects the K-Nearest Neighbors (KNNs) of a moving query point within a given time interval. As the data objects move frequently and arbitrarily in road networks, the frequent updates of object locations make it complicated to process CKNN accu...
متن کاملLinear Subdivision Schemes for the Refinement of Geometric Objects
Subdivision schemes are efficient computational methods for the design, representation and approximation of surfaces of arbitrary topology in R. Subdivision schemes generate curves/surfaces from discrete data by repeated refinements. This paper reviews some of the theory of linear stationary subdivision schemes and their applications in geometric modelling. The first part is concerned with “cla...
متن کاملPredictive Nearest Neighbor Queries over Uncertain Spatial-Temporal Data
Predictive nearest neighbor queries over spatial-temporal data have received significant attention in many location-based services including intelligent transportation, ride sharing and advertising. Due to physical and resource limitations of data collection devices like RFID, sensors and GPS, data is collected only at discrete time instants. In-between these discrete time instants, the positio...
متن کاملRefining our Notion of What Text Really Is: The Problem of Overlapping Hierarchies
Introduction OHCO-1 Thesis: Text is an Ordered Hierarchy of Content Objects Arguments Pragmatic Empirical Theoretical Counterexamples: Multiple Logical Hierarchies In the Old (SGML) View Genres Determine Text Objects The New (TEI) View: Perspectives Determine Text Objects Consequences of the Shift: There is no Unique Logical Hierarchy OHCO-2 Thesis: Perspectives Determine OHCOs Counterexamples:...
متن کامل